package com.attendance.service;

import com.attendance.dto.request.*;
import com.attendance.dto.response.LoginResponse;
import com.attendance.entity.User;
import com.baomidou.mybatisplus.core.metadata.IPage;

public interface UserService {
    
    LoginResponse login(LoginRequest request);
    
    void register(RegisterRequest request);
    
    void updatePassword(UpdatePasswordRequest request, String username);
    
    void logout(String username);
    
    IPage<User> queryUsers(UserQueryRequest request);
    
    void updateUser(UserUpdateRequest request);
    
    void deleteUser(Long id);
    
    void enableUser(Long id);
    
    void disableUser(Long id);

    void setUserRole(UserRoleRequest request);
    
    void updateUserPassword(UserPasswordUpdateRequest request);
} 